package programs;

import java.util.ArrayList;
import program.*;
import traces.*;

public class d6 {     

    public static Main create(){
        int i= 0;
        ArrayList<Actor> actors= new ArrayList<Actor>();
        
        ObjectClass myTypeClass_id24= new ObjectClass("MyType");
        ObjectClass myType2Class_id25= new ObjectClass("MyType2");
        
        Actor myYesLvl3 = new Actor("myYesLvl3", myTypeClass_id24); 
        actors.add(myYesLvl3);
        Actor myNoLvl3 = new Actor("myNoLvl3", myType2Class_id25); 
        actors.add(myNoLvl3);
        
        
        /* LOOP: loop_id29 */
         
         
             Call m1_id30 = new Call(new Statement("S" + i++,myYesLvl3,new Method("m1",new ArrayList<ObjectInstance>(),myTypeClass_id24),myYesLvl3));        
        Loop loop_id29 = new Loop(m1_id30);
         
         /* CONSEQUENT: alt_id31 */
         
         
             Call m3_id34 = new Call(new Statement("S" + i++,myNoLvl3,new Method("m3",new ArrayList<ObjectInstance>(),myTypeClass_id24),myYesLvl3));        
        
         
         /* ALTERNATIVE 0: alt_id31 */
         
         
             Call m1_id35 = new Call(new Statement("S" + i++,myNoLvl3,new Method("m1",new ArrayList<ObjectInstance>(),myTypeClass_id24),myYesLvl3));        
        
        // FINALIZING alt_id31
        Alt alt_id31= new Alt();
        alt_id31.add(m3_id34);
        alt_id31.add(m1_id35);
        
        
        
        /* LOOP: loop_id37 */
         
         
             Call m1_id38 = new Call(new Statement("S" + i++,myYesLvl3,new Method("m1",new ArrayList<ObjectInstance>(),myTypeClass_id24),myYesLvl3));        
        Loop loop_id37 = new Loop(m1_id38);
        
        
            Call m6_id39 = new Call(new Statement("S" + i++,myNoLvl3,new Method("m6",new ArrayList<ObjectInstance>(),myTypeClass_id24),myYesLvl3));        
        
        ArrayList<Block> entry_point_id40 = new ArrayList<Block>();
        entry_point_id40.add(loop_id29);
        entry_point_id40.add(alt_id31);
        entry_point_id40.add(loop_id37);
        entry_point_id40.add(m6_id39);
        return new Main(entry_point_id40, actors, 200);
    } 

    public static void main(String[] args) {
        Main sd=create();
        boolean ok=sd.saveModel("d6");
        if (ok){
            sd.genereAllTraces("d6", 100);
        }
        
    }
}
